Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ekf2: update to latest ecl version #13014

Closed
wants to merge 3 commits into from

Conversation

priseborough
Copy link
Contributor

Adds ability to use velocity data from vehicle_odometry message and miscellaneous fixes for use of other data from vehicle_odometry. See PX4/PX4-ECL#642 for details

Includes ekf2_main.cpp compatibility changes for renamed variables.

@kamilritz FYI

Includes compatibility changes for renamed variables.
@priseborough priseborough requested a review from bresch September 24, 2019 02:02
@mhkabir
Copy link
Member

mhkabir commented Sep 24, 2019

@priseborough This also need to include the copying of velocity data into the ECL backend and addition of velocity flag to EKF2_AID_MASK.

Copy link
Contributor

@kamilritz kamilritz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest to add a few minor things:

  • Here add
    (ParamFloat<px4::params::EKF2_EVV_NOISE>) _param_ekf2_evv_noise, ///< default velocity observation noise for exernal vision measurements (m/s)

  • Here change to
    _param_ekf2_ev_gate, ///< external vision estimator innovation consistency gate size (STD) (ParamExtFloat<px4::params::EKF2_EVV_GATE>) _param_ekf2_evv_gate, ///< external vision velocity innovation consistency gate size (STD) (ParamExtFloat<px4::params::EKF2_EVP_GATE>) _param_ekf2_evp_gate, ///< external vision position innovation consistency gate size (STD)

  • Here add
    _param_ekf2_evv_gate(_params->ev_vel_innov_gate), _param_ekf2_evp_gate(_params->ev_pos_innov_gate),

And in the ekf2_params.c:

  • Here change to:
    `PARAM_DEFINE_FLOAT(EKF2_EVP_NOISE, 0.1f);

/**

  • Measurement noise for vision velocity observations used when the vision system does not supply error estimates
  • @group EKF2
  • @min 0.01
  • @Unit m/s
  • @decimal 2
    */
    PARAM_DEFINE_FLOAT(EKF2_EVV_NOISE, 0.1f);`
  • Here we should state that this parameter is deprecated

  • Here add
    `
    /**

  • Gate size for vision velocity estimate fusion
  • Sets the number of standard deviations used by the innovation consistency test.
  • @group EKF2
  • @min 1.0
  • @Unit SD
  • @decimal 1
    */
    PARAM_DEFINE_FLOAT(EKF2_EVV_GATE, 3.0f);

/**

  • Gate size for vision position fusion
  • Sets the number of standard deviations used by the innovation consistency test.
  • @group EKF2
  • @min 1.0
  • @Unit SD
  • @decimal 1
    */
    PARAM_DEFINE_FLOAT(EKF2_EVP_GATE, 5.0f);`

This param tuning yielded good vision fusion with several different EKF_AID_MASK settings

@priseborough
Copy link
Contributor Author

@kamilritz Can you please have a look at the parameter definitions before tomorrow if you get time. The build is failing at the step where the parameter xml file is generated and i am out of time today. TXS.

* @group EKF2
* @min 0.01
* @unit rad
* @Unit m/s
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* @Unit m/s
* @unit m/s

@@ -1161,6 +1157,26 @@ PARAM_DEFINE_FLOAT(EKF2_RNG_A_HMAX, 5.0f);
*/
PARAM_DEFINE_FLOAT(EKF2_RNG_A_IGATE, 1.0f);

/**
* Gate size for vision velocity estimate fusion
* Sets the number of standard deviations used by the innovation consistency test.
Copy link
Contributor

@kamilritz kamilritz Sep 24, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

`

  • Gate size for vision velocity estimate fusion
  • Sets the number of standard deviations used by the innovation consistency test.
  • @group EKF2
    `
    add some empty lines here

* Sets the number of standard deviations used by the innovation consistency test.
* @group EKF2
* @min 1.0
* @Unit SD
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* @Unit SD
* @unit SD

PARAM_DEFINE_FLOAT(EKF2_EVV_GATE, 3.0f);

/**
* Gate size for vision position fusion
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add some empty lines here as well

Copy link
Contributor

@kamilritz kamilritz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With these changes, I can build it locally again

* Sets the number of standard deviations used by the innovation consistency test.
* @group EKF2
* @min 1.0
* @Unit SD
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* @Unit SD
* @unit SD

@jkflying
Copy link
Contributor

continued in #13023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants